package com.erdos.core.dao;

import java.util.List;
import java.util.Map;

import com.erdos.common.dao.DaoBase;
import com.erdos.core.entity.Event;
import com.erdos.core.entity.State;

@SuppressWarnings("unchecked")
public interface FSMDao extends DaoBase<Event> {
	/**
	 * 根据当前状态、传入事件及条件值，返回State集合
	 * @return
	 * @author xiali2
	 * @since  2008-7-31
	 */
	public List<State> findStatesByTransitionParams(Map<String,Object> params);
	
	/**
	 * 查询startState下可用的事件集合
	 * @return
	 * @author xiali2
	 * @since  2008-7-31
	 */
	public List<Event> findEventsByTransitionParams(Map<String,Object> params);
	
	public void insertStateTransitionHistory(Map<String,Object> params);

}
